package com.ly.gen.entity;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 代码生成-表
 *
 * @author luoyun
 * @Date: 2025-06-12
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("gen_table")
@Schema(description = "代码生成-字段")
public class GenTable implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ExcelProperty("主键ID")
    @Schema(description = "主键ID")
    private java.lang.String id;
    /**
     * 表名
     */
    @ExcelProperty("表名")
    @Schema(description = "表名")
    private java.lang.String tableName;

    /**
     * 业务路径
     */
    @ExcelProperty("业务路径")
    @Schema(description = "业务路径")
    private java.lang.String bussiPackage;
    /**
     * 实体名
     */
    @ExcelProperty("实体名")
    @Schema(description = "实体名")
    private java.lang.String entityName;
    /**
     * 包名
     */
    @ExcelProperty("包名")
    @Schema(description = "包名")
    private java.lang.String entityPackage;
    /**
     * 表类型: 0单表、1主表、2附表
     */
    @ExcelProperty("表类型: 0单表、1主表、2附表")
    @Schema(description = "表类型: 0单表、1主表、2附表")
    private java.lang.Integer tableType;
    /**
     * 表版本
     */
    @ExcelProperty("表版本")
    @Schema(description = "表版本")
    private java.lang.Integer tableVersion;
    /**
     * 表说明
     */
    @ExcelProperty("表说明")
    @Schema(description = "表说明")
    private java.lang.String tableTxt;
    /**
     * 是否带checkbox
     */
    @ExcelProperty("是否带checkbox")
    @Schema(description = "是否带checkbox")
    private java.lang.String isCheckbox;
    /**
     * 同步数据库状态
     */
    @ExcelProperty("同步数据库状态")
    @Schema(description = "同步数据库状态")
    private java.lang.String isDbSynch;
    /**
     * 是否分页
     */
    @ExcelProperty("是否分页")
    @Schema(description = "是否分页")
    private java.lang.String isPage;
    /**
     * 是否是树
     */
    @ExcelProperty("是否是树")
    @Schema(description = "是否是树")
    private java.lang.String isTree;
    /**
     * 主键生成序列
     */
    @ExcelProperty("主键生成序列")
    @Schema(description = "主键生成序列")
    private java.lang.String idSequence;
    /**
     * 主键类型
     */
    @ExcelProperty("主键类型")
    @Schema(description = "主键类型")
    private java.lang.String idType;
    /**
     * 查询模式
     */
    @ExcelProperty("查询模式")
    @Schema(description = "查询模式")
    private java.lang.String queryMode;
    /**
     * 映射关系 0一对多  1一对一
     */
    @ExcelProperty("映射关系 0一对多  1一对一")
    @Schema(description = "映射关系 0一对多  1一对一")
    private java.lang.Integer relationType;
    /**
     * 子表
     */
    @ExcelProperty("子表")
    @Schema(description = "子表")
    private java.lang.String subTableStr;
    /**
     * 附表排序序号
     */
    @ExcelProperty("附表排序序号")
    @Schema(description = "附表排序序号")
    private java.lang.Integer tabOrderNum;
    /**
     * 树形表单父id
     */
    @ExcelProperty("树形表单父id")
    @Schema(description = "树形表单父id")
    private java.lang.String treeParentIdField;
    /**
     * 树表主键字段
     */
    @ExcelProperty("树表主键字段")
    @Schema(description = "树表主键字段")
    private java.lang.String treeIdField;
    /**
     * 树开表单列字段
     */
    @ExcelProperty("树开表单列字段")
    @Schema(description = "树开表单列字段")
    private java.lang.String treeFieldname;
    /**
     * 表单分类
     */
    @ExcelProperty("表单分类")
    @Schema(description = "表单分类")
    private java.lang.String formCategory;
    /**
     * PC表单模板
     */
    @ExcelProperty("PC表单模板")
    @Schema(description = "PC表单模板")
    private java.lang.String formTemplate;
    /**
     * 表单模板样式(移动端)
     */
    @ExcelProperty("表单模板样式(移动端)")
    @Schema(description = "表单模板样式(移动端)")
    private java.lang.String formTemplateMobile;
    /**
     * 是否有横向滚动条
     */
    @ExcelProperty("是否有横向滚动条")
    @Schema(description = "是否有横向滚动条")
    private java.lang.Integer scroll;
    /**
     * 复制版本号
     */
    @ExcelProperty("复制版本号")
    @Schema(description = "复制版本号")
    private java.lang.Integer copyVersion;
    /**
     * 复制表类型1为复制表 0为原始表
     */
    @ExcelProperty("复制表类型1为复制表 0为原始表")
    @Schema(description = "复制表类型1为复制表 0为原始表")
    private java.lang.Integer copyType;
    /**
     * 原始表ID
     */
    @ExcelProperty("原始表ID")
    @Schema(description = "原始表ID")
    private java.lang.String physicId;
    /**
     * 扩展JSON
     */
    @ExcelProperty("扩展JSON")
    @Schema(description = "扩展JSON")
    private java.lang.String extConfigJson;
    /**
     * 修改人
     */
    @ExcelProperty("修改人")
    @Schema(description = "修改人")
    private java.lang.String updateBy;
    /**
     * 修改时间
     */
    @ExcelProperty("修改时间")
    @Schema(description = "修改时间")
    private java.util.Date updateTime;
    /**
     * 创建人
     */
    @ExcelProperty("创建人")
    @Schema(description = "创建人")
    private java.lang.String createBy;
    /**
     * 创建时间
     */
    @ExcelProperty("创建时间")
    @Schema(description = "创建时间")
    private java.util.Date createTime;
    /**
     * 主题模板
     */
    @ExcelProperty("主题模板")
    @Schema(description = "主题模板")
    private java.lang.String themeTemplate;
    /**
     * 是否用设计器表单
     */
    @ExcelProperty("是否用设计器表单")
    @Schema(description = "是否用设计器表单")
    private java.lang.String isDesForm;
    /**
     * 设计器表单编码
     */
    @ExcelProperty("设计器表单编码")
    @Schema(description = "设计器表单编码")
    private java.lang.String desFormCode;
    /**
     * 租户ID
     */
    @ExcelProperty("租户ID")
    @Schema(description = "租户ID")
    private java.lang.Integer tenantId;
    /**
     * 关联的应用ID
     */
    @ExcelProperty("关联的应用ID")
    @Schema(description = "关联的应用ID")
    private java.lang.String lowAppId;
}
